home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Skunkware 5
/
Skunkware 5.iso
/
man
/
cat.1
/
fiz.1
< prev
next >
Wrap
Text File
|
1995-07-25
|
6KB
|
133 lines
FFFFIIIIZZZZ((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((JJJJaaaannnn 33331111,,,, 1111999988888888)))) FFFFIIIIZZZZ((((1111))))
NNNNAAAAMMMMEEEE
fiz - analyze damaged zoo archive for data revovery
SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
_f_i_z archive[....zzzzoooooooo]
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
_F_i_z is used to analyze damaged _z_o_o archives and locate
directory entries and file data in them. The current
version of _f_i_z is 2.0 and it is meant to be used in
conjunction with _z_o_o version 2.0. _F_i_z makes no assumptions
about archive structure. Instead, it simply searches the
entire subject archive for tag values that mark the
locations of directory entries and file data. In a _z_o_o
archive, a _d_i_r_e_c_t_o_r_y _e_n_t_r_y contains information about a
stored file such as its name, whether compressed or not, and
its timestamp. The _f_i_l_e _d_a_t_a are the actual data for the
archived file, and may be either the original data, or the
result of compressing the file.
For each directory entry found, _f_i_z prints where in the
archive it is located, the directory path and filename(s)
found in it, whether the directory entry appears to be
corrupted (indicated by [*CRC Error*]), and the value of the
pointer to the file data that is found in the directory
entry. For each block of file data found in the archive,
_f_i_z prints where in the archive the block begins. In the
case of an undamaged archive, the pointer to file data found
in a directory entry will correspond to where _f_i_z actually
locates the data. Here is some sample output from _f_i_z:
****************
2526: DIR [changes] ==> 95
2587: DATA
****************
3909: DIR [copyrite] ==> 1478
3970: DATA
4769: DATA
****************
In such output, DDDDIIIIRRRR indicates where _f_i_z found a directory
entry in the archive, and DDDDAAAATTTTAAAA indicates where _f_i_z found
file data in the archive. Filenames located by _f_i_z are
enclosed in square brackets, and the notation "==> 95"
indicates that the directory entry found by _f_i_z at position
2526 has a file data pointer to position 95. In actuality,
_f_i_z found file data at positions 2587, 3970, and 4769.
Since _f_i_z found only two directory entries, and each
directory entry corresponds to one file, one of the file
data positions is an artifact.
Once the locations of directory entries and file data are
Page 1 (printed 3/9/94)
FFFFIIIIZZZZ((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((JJJJaaaannnn 33331111,,,, 1111999988888888)))) FFFFIIIIZZZZ((((1111))))
found, the @@@@ modifier to _z_o_o'_s archive list and extract
commands can be used and the archive contents selectively
listed or extracted, skipping the damaged portion. This is
further described in the documentation for _z_o_o(_1).
In the above case, commands to try giving to _z_o_o might be
xxxx@@@@2222555522226666,,,,2222555588887777 (extract beginning at position 2526, and get
file data from position 2587), xxxx@@@@3333000099990000,,,,3333999977770000 (extract at 3090,
get data from 3970) and xxxx@@@@3333999900009999,,,,4444777766669999 (extract at 3909, get
data from 4769). Once a correctly-matched directory
entry/file data pair is found, _z_o_o will in most cases
synchronize with and correctly extract all files
subsequently found in the archive. Trial and error should
allow all undamaged files to be extracted. Also note that
self-extracting archives created using _s_e_z (the Self-
Extracting _Z_o_o utility for MS-DOS), which are normally
executed on an MS-DOS system for extraction, can be
extracted on non-MSDOS systems in a similar way.
SSSSEEEEEEEE AAAALLLLSSSSOOOO
zoo(1)
BBBBUUUUGGGGSSSS
Random byte patterns can occasionally be incorrectly
recognized as tag values. This occurs very rarely, however,
and trial and error will usually permit all undamaged data
to be extracted.
DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
_F_i_z always exits with a status code of 0.
FFFFUUUUTTTTUUUURRRREEEE DDDDIIIIRRRREEEECCCCTTTTIIIIOOOONNNNSSSS
Automation of data recovery from a damaged archive is
potentially achievable. However, since damaged archives
occur only rarely, _f_i_z as it currently stands is unlikely to
change much in the near future.
AAAAUUUUTTTTHHHHOOOORRRR
Rahul Dhesi
Page 2 (printed 3/9/94)